package cn.lingyangwl.agile.model.module.auth;

/**
 * @author shenguangyang
 */
public interface OAuth2ParamKeys {
    /**
     * 授权类型 - 用于授权码模式
     */
    String GRANT_TYPE = "grant_type";

    /**
     * 重定向 URI - 用于授权码模式
     */
    String REDIRECT_URI = "redirect_uri";

    /**
     * 状态 - 用于授权码模式
     */
    String STATE = "state";

    /**
     * 授权码 - 用于授权码模式
     */
    String CODE = "code";

    /**
     * 账号 - 用于密码模式
     */
    String USERNAME = "username";

    /**
     * 密码 - 用于密码模式
     */
    String PASSWORD = "password";

    /**
     * 权限范围 - 用于密码模式
     */
    String SCOPE = "scope";

    /**
     * 刷新token - 用于刷新模式
     */
    String REFRESH_TOKEN = "refresh_token";

    /**
     * {@code response_type} - used in Authorization Request.
     */
    String RESPONSE_TYPE = "response_type";

    /**
     * {@code client_id} - used in Authorization Request and Access Token Request.
     */
    String CLIENT_ID = "client_id";

    /**
     * {@code client_secret} - used in Access Token Request.
     */
    String CLIENT_SECRET = "client_secret";


    /**
     * {@code access_token} - used in Authorization Response and Access Token Response.
     */
    String ACCESS_TOKEN = "access_token";

    /**
     * {@code token_type} - used in Authorization Response and Access Token Response.
     */
    String TOKEN_TYPE = "token_type";

    /**
     * {@code expires_in} - used in Authorization Response and Access Token Response.
     */
    String EXPIRES_IN = "expires_in";

    /**
     * {@code error} - used in Authorization Response and Access Token Response.
     */
    String ERROR = "error";

    /**
     * {@code error_description} - used in Authorization Response and Access Token
     * Response.
     */
    String ERROR_DESCRIPTION = "error_description";

    /**
     * {@code error_uri} - used in Authorization Response and Access Token Response.
     */
    String ERROR_URI = "error_uri";

}
